今天是鐵人賽第30天(灑花),要來講解如何利用循環神經網路RNN實作IMDb數據資料的訓練,為什麼不直接用卷積神經網路CNN呢?通常CNN是應用於圖像辨識,而RNN用於文字處理分析,為什麼要用RNN呢?先來看RNN叫循環網路,但是以下圖Day23-深度學習介紹(1)講解的網路圖形並沒有循環的階段,但是因為在文字的世界會因為時間循序漸進,所以我們要把模型模擬跟人一樣要有過往的記憶,利用過往的歷史資訊來預測未來,如圖2。
圖1 CNN
圖2 RNN
from keras.models import Sequential
from keras.layers.core import Dense, Dropout, Activation
from keras.layers.embeddings import Embedding
from keras.layers.recurrent import SimpleRNN
model = Sequential()
model.add(Embedding(output_dim=32,
input_dim=3800,
input_length=380))
model.add(Dropout(0.25))
#建立18個RNN神經元
model.add(SimpleRNN(units=18))
model.add(Dense(units=256,activation='relu' ))
model.add(Dropout(0.25))
model.add(Dense(units=1,activation='sigmoid' ))
model.summary()
scores = model.evaluate(x_test, y_test, verbose=1)
scores[1]
來整理一下這30天的貼文內容:
Day1-程式語言、模組百百種 要如何選擇?(含30天文章架構)
Day12-Scikit-learn介紹(4)_ Bayes Classification
Day13-Scikit-learn介紹(5)_ Linear-Regression
https://ithelp.ithome.com.tw/articles/10206114
Day15-Scikit-learn介紹(7)_ Support Vector Machines
Day16-Scikit-learn介紹(8)_ Decision Trees
Day17-Scikit-learn介紹(9)_ Random Forests
Day18-Scikit-learn介紹(10)_ Principal Component Analysis
Day19-Scikit-learn介紹(11)_K-Means
Day20-Scikit-learn介紹(12)_Gaussian Mixture Models
Day21-Scikit-learn介紹(13)_HOG+SVM
Day30 鐵人最後一天 成功~~~